Slackware

Slackware
Slackware.png
Slackware 13.1
Company / developer Patrick Volkerding
OS family Unix-like
Working state Current
Source model Free software
Initial release 16 July 1993
Latest stable release 13.1 / May 24, 2010; 8 months ago (2010-05-24)
Available language(s) Multilingual
Update method pkgtools
Package manager pkgtools
Supported platforms IA-32, x86-64, ARM
Kernel type Monolithic (Linux)
Default user interface KDE
License GNU General Public License
Official website www.slackware.com

Slackware is a free and open source operating system. It was one of the earliest operating systems to be built on top of the Linux kernel and is the oldest currently being maintained.[1] Slackware was created by Patrick Volkerding of Slackware Linux, Inc. in 1993. The current stable version is 13.1, released on May 24, 2010.

Slackware aims for design stability and simplicity, and to be the most "Unix-like" Linux distribution, using plain text files for configuration and making as few modifications to software packages as possible from upstream.[2]

Contents

Name

The name "Slackware" stems from the fact that the distribution started as a private side project with no intended commitment. To prevent it from being taken too seriously at first, Volkerding gave it a humorous name, which stuck even after Slackware became a serious project.[3]

The "slack" in Slackware is a reference to the term "slack" as used by the Church of the SubGenius.[4]

History

Slackware was originally descended from the Softlanding Linux System, the most popular of the original Linux distributions. SLS dominated the market until the developers made a decision to change the executable format from a.out to ELF. This was not a popular decision among SLS's user base at the time. Patrick Volkerding released a modified version of SLS, which he named Slackware.[5] The first Slackware release, 1.00, was on July 16, 1993.[6] It was supplied as 3½" floppy disk images that were available via anonymous FTP.

In 1999, Slackware's release number jumped from 4 to 7. Patrick Volkerding explained this as a marketing effort to show that Slackware was as up-to-date as other Linux distributions, many of which had release numbers of 6 at the time.[7]

In 2005, the GNOME desktop environment was removed from the pending future release (starting with 10.2), and turned over to community support and distribution.[8] The removal of GNOME was seen by some in the Linux community as significant because the desktop environment is found in many Linux distributions. In lieu of this, several community-based projects began offering complete GNOME distributions for Slackware.

Design philosophy

Many design choices in Slackware can be seen as examples of the KISS principle.[9] In this context, "simple" refers to the viewpoint of system design, rather than ease of use. Most software in Slackware uses the configuration mechanisms supplied by the software's original authors; there are few distribution-specific mechanisms. This is the reason there are so few GUI tools to configure the system. This comes at the cost of user-friendliness. Critics consider the distribution time-consuming and difficult to learn, whereas advocates consider it flexible and transparent and like the experience gained from the learning process.

Package management

The Slackware mascot: Tux smoking a pipe like Bob of the Church of the SubGenius

Slackware's package management system can install, upgrade, and remove packages from local sources, but makes no attempt to track or manage dependencies, relying on the user to ensure that the system has all the supporting system libraries and programs required by the new package. If any of these are missing, there may be no indication until one attempts to use the newly installed software.

Slackware packages are tarballs. Prior to version 13.0, the compression method was gzip with filenames ending in .tgz. Beginning with version 13.0, the compression method for packages was changed from gzip to LZMA[10]. With the change in compression method, the filename extension was changed to .txz so there would be no confusion between the two package formats. The updated package manager maintains support for the older package format.

The package contains the files that form part of the software being installed, as well as additional files for the benefit of the Slackware package manager. The files that form part of the software being installed are organized such that, when extracted into the root directory, their files are placed in their installed locations. The other files are those placed under the install/ directory inside the package.

Two files are commonly found in the install/ directory, which are the slack-desc and doinst.sh files. These are not placed directly into the filesystem in the same manner as the other files in the package. The slack-desc file is a simple text file which contains a description of the package being installed. This is used when viewing packages using the package manager. The doinst.sh file is a shell script which is usually intended to run commands or make changes which could not be best made by changing the contents of the package. This script is run at the end of the installation of a package.[11]

Dependency resolution

While Slackware itself does not incorporate tools to resolve dependencies for the user by automatically downloading and installing them, some community supported software tools do provide this function, similar to the way APT does for Debian and its derivatives.

Swaret and slackpkg were included as extra packages in the Slackware 9.1 CD #2,[12] but were not installed by default. Swaret was removed from the distribution as of Slackware 10.0 but is still available as a community supported package. As of Slackware 12.2, slackpkg has been added as the official remote package manager.

SlackIns is a complete and simple Qt-based graphical user interface for installing packages.

slapt-get is a command line utility that functions in a similar way to APT. While slapt-get does provide a framework for dependency resolution, it does not provide dependency resolution for packages included within the Slackware distribution. However, several community package sources and Slackware based distributions take advantage of this functionality. Gslapt is a graphical interface to slapt-get.

NetBSD's pkgsrc provides support for Slackware, among other Unix-like operating systems. pkgsrc provides dependency resolution for both binary and source packages. pkgsrc-on-slack The goal of this project is to promote the use of pkgsrc on Linux, and expand Slackware (and derivative distributions) with additional packages.

Tukaani pkgtools replaces the Slackware pkgtools (installpkg, upgradepkg, etc.) with enhanced versions that provide network downloading capabilities and an early version of the alternative compression support now found in Slackware pkgtools.

Emerde is an adaptation of the Gentoo portage system that can co-exist with the native Slackware system.

Releases


Slackware's latest stable i486 and x86_64 releases are at version 13.1[13] (as of 2010-05-24), which include support for ALSA, GCC 4.4.4, Linux 2.6.33.4, KDE 4.4.3 and Xfce 4.6.1.[13]

There is also a testing / developmental version of Slackware called '-current'[14] that can be used for a more bleeding edge configuration.

Hardware architectures

Slackware has traditionally concentrated solely on 32-bit architecture and previous releases were available as 32-bit only. Users wanting 64-bit were required to use unofficial ports such as slamd64. As of Slackware 13.0, a 64-bit variant is available and officially supported in symmetrical development with the 32-bit platform.[15]

Slackware is also available for the ARM architecture in the form of ARMedslack which has been declared "official" by Patrick Volkerding.[16]

Slackware for the IBM S/390 architecture is also still actively developed and maintained in both -current and -stable forms.[17]

An unofficial 'Slackintosh' project offers Slackware for PPC Macintosh hardware with a New World ROM.

Community-supported software

Repositories of community maintained and supported binary Slackware packages are provided by linuxpackages.net and slacky.eu. These projects may include more recent versions of software or software not provided by Slackware Linux.

SlackBuilds.org is a community-supported project for acquiring SlackBuild script of extra software not included within Slackware. A SlackBuild build script contains the build instructions and a source download link for building a particular package for your system. This is identical to the way Slackware's official packages are built and is meant to address possible incompatibilities with community created binary packages while sacrificing the portability of typical binary distribution.

SlackFind is a package search service for Slackware.

Since GNOME was dropped from Slackware Linux,[18] several community projects now provide GNOME binary packages and Slackbuilds for Slackware Linux. These include Dropline GNOME[19], GSB: GNOME SlackBuild, GWARE, Gnome-Slacky, and SlackBot.

See also

References

External links